From: Jonas Dreßler Date: Thu, 13 Feb 2020 12:08:28 +0000 (+0100) Subject: blur-effect: Properly clear background framebuffer X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~751^2^2~33 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=4783d767d64f9da9d82d82104f35418444a900d8;p=gnome-shell.git blur-effect: Properly clear background framebuffer We want to completely clear the background framebuffer when switching back to ACTOR mode to make sure the `background_fb.framebuffer` check will fail in `update_background_fbo` when switching to BACKGROUND mode again. Otherwise the checks in `update_background_fbo` will return TRUE and we will keep using the background framebuffer that was created before switchig to ACTOR mode. While at it, also clear the background framebuffer completely when changing the actor to avoid the same issue here. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1000 --- diff --git a/src/shell-blur-effect.c b/src/shell-blur-effect.c index eef071f86..c3fb3bc60 100644 --- a/src/shell-blur-effect.c +++ b/src/shell-blur-effect.c @@ -513,6 +513,7 @@ shell_blur_effect_set_actor (ClutterActorMeta *meta, /* clear out the previous state */ clear_framebuffer_data (&self->actor_fb); + clear_framebuffer_data (&self->background_fb); clear_framebuffer_data (&self->brightness_fb); clear_framebuffer_data (&self->blur[VERTICAL].data); clear_framebuffer_data (&self->blur[HORIZONTAL].data); @@ -1049,7 +1050,7 @@ shell_blur_effect_set_mode (ShellBlurEffect *self, switch (mode) { case SHELL_BLUR_MODE_ACTOR: - clear_framebuffer (self->background_fb.framebuffer); + clear_framebuffer_data (&self->background_fb); break; case SHELL_BLUR_MODE_BACKGROUND: